#ifndef BEHAVIOUR_I_H_
#define BEHAVIOUR_I_H_

class BehaviourInfo;
class BPhysicsActor;
#include <LinearMath/btVector3.h>

/* Uniforms the storage of behaviours. */
class BehaviourI
{
public:
    virtual ~BehaviourI() = 0 {}
    virtual void CalcMotion(float* motion, BehaviourInfo* info, float weighting) =0;
    inline void FillArray(float* a, const btVector3* const vec , float weight)
    {btVector3 v(*vec); v *= weight; a[0] += v.x();a[1] += v.y();a[2] += v.z();}
};

#endif